package game.model;

import java.util.Set;

/**
 * Clase abstracta que representa un espejo en el juego.
 * De ella heredan los diferentes tipos de espejos.
 *
 */

public abstract class Espejo extends Componente implements Orientable, Movible {
	private int orientacion;

	/**
	 * Setea la orientacion del espejo.
	 * 
	 * @param orientacion orientacion del espejo.
	 */
	
	public void setOrientacion(int orientacion) {
		this.orientacion = orientacion;
	}

	public int getOrientacion() {
		return orientacion;
	}	

	public abstract void rotar();
	
	@Override
	public abstract Set<Rayo> getSalida(Rayo entrada, Set<Rayo> anterior);
	
}
